package br.com.winesys.geta.validator;

/**
 * Valida se o objeto é um número e se o valor dele é maior que o mínimo.
 */
public class MinValueValidator implements Validator {

	private Number	value;
	private String	message;

	/**
	 * @param value valor mínimo
	 * @param message Mensagem de erro
	 */
	public MinValueValidator(Number value, String message) {
		this.message = message;
		this.value = value;
	}

	@Override
	public boolean validate(Object obj) {
		if (obj == null || !(obj instanceof Number) || ((Number) obj).doubleValue() < this.value.doubleValue()) {
			return false;
		}
		return true;
	}

	public Number getValue() {
		return this.value;
	}

	@Override
	public String getMessage() {
		return this.message;
	}
	
	

}
